package com.project.domain.bo;

import com.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;

import javax.validation.constraints.NotBlank;

@Data
@ApiModel("项目立项--基础信息")
public class ProjectInfoBo {

    /** 当前页码 */
    @NotBlank
    @ApiModelProperty("当前页码，检索列表时不能为空")
    private Integer pageNo;

    /** 每页条数 */
    @NotBlank
    @ApiModelProperty("每页条数，检索列表时不能为空")
    private Integer pageSize;

    /** 项目ids */
    @ApiModelProperty("项目ids,查询详情时必传")
    private String proIds;

    /** proClass */
    @ApiModelProperty("项目类别：xJProject zXProject ")
    private String proClass;

    /** 项目编号 */
    @ApiModelProperty("项目编号")
    private String code;

    /** 项目名称 */
    @ApiModelProperty("项目名称")
    private String name;

    /** 项目分类 */
    @ApiModelProperty("项目分类")
    private String projectTypeCode;

    /** 负责人 */
    @ApiModelProperty("负责人")
    private String chargerName;

    /** 最大项目总经费 */
    @ApiModelProperty("最大项目总经费")
    private String maxTotalMoney;

    /** 最小项目总经费 */
    @ApiModelProperty("最大项目总经费")
    private String minTotalMoney;

    /** 立项开始日期 */
    @ApiModelProperty("立项开始日期，科研人员按年份查找，年份条件写在这里")
    private String startAuthorizeDate;

    /** 立项结束日期 */
    @ApiModelProperty("立项结束日期")
    private String endAuthorizeDate;

    /** 所属单位 */
    @ApiModelProperty("所属单位")
    private String unitId;

    /** 批准号 */
    @ApiModelProperty("批准号")
    private String authorizeCode;

    /** 负责人电话 */
    @ApiModelProperty("负责人电话")
    private String chargerPhone;

    /** 负责人邮箱 */
    @ApiModelProperty("负责人邮箱")
    private String chargerEmail;

    /** 项目级别 */
    @ApiModelProperty("项目级别")
    private String projectLevelId;

    /** 项目来源单位 */
    @ApiModelProperty("项目来源单位")
    private String projectTier;

    /** 项目来源id */
    @Excel(name = "项目来源id")
    @ApiModelProperty("项目来源id")
    private String projectSourceId;

    /** 项目状态 */
    @ApiModelProperty("项目状态")
    private String projectStatusId;

    /** 项目成员 */
    @ApiModelProperty("项目成员")
    private String members;

    /** 审核状态 */
    @ApiModelProperty("审核状态")
    private String checkstatus;

    /** 审核状态（统计） */
    @ApiModelProperty("审核状态-统计")
    private String checkstatusByGroup;

    /** 经办人 */
    @ApiModelProperty("经办人")
    private String transactor;

    /** 经办人电话 */
    @ApiModelProperty("经办人电话")
    private String transactorPhone;

    /** 开始日期 */
    @ApiModelProperty("开始日期（起始）")
    private String startBeginDate;

    /** 开始日期 */
    @ApiModelProperty("开始日期（结束）")
    private String endBeginDate;

    /** 计划结项日期 */
    @ApiModelProperty("计划结项日期（起始）")
    private String startPlanEndDate;

    /** 计划结项日期 */
    @ApiModelProperty("计划结项日期（结束）")
    private String endPlanEndDate;

    /** 合作单位 */
    @ApiModelProperty("合作单位")
    private String cooperateId;

    /** 合同有效状态 */
    @ApiModelProperty("合同有效状态")
    private String validState;

    /** 甲方名称 */
    @ApiModelProperty("甲方名称")
    private String buyerName;

    /** 甲方联系电话 */
    @ApiModelProperty("甲方联系电话")
    private String buyerTel;

    /** 甲方联系人 */
    @ApiModelProperty("甲方联系人")
    private String buyerChargerName;

    /** 参与形式 */
    @ApiModelProperty("科研人员左侧导航 参与形式：主持传charge 参与传join")
    private String joinType;

    /** 课题类型 */
    @ApiModelProperty("课题类型")
    private String levelId;

    /** 管理员看指定的人的项目情况 */
    @ApiModelProperty("人员id")
    private String personId;

    /** 导出字段 */
    @ApiModelProperty("导出字段：前端按照顺序把属性值用英文逗号拼在一起，导出时必传")
    private String exportStr;

    /** 排序字段 */
    @ApiModelProperty("排序字段：列表该列取的哪个字段的值就返字段名，如项目名称 name")
    private String orderStr;

    /** 排序顺序 */
    @ApiModelProperty("排序顺序：asc desc")
    private String orderType;
}
